/*
 * 文件名：ObjectCheckUtil.java
 * 版权：Copyright by http://www.infopub.top/
 * 描述：
 * 修改人：Administrator
 * 修改时间：2019年3月8日
 * 跟踪单号：
 * 修改单号：
 * 修改内容：
 */

package top.infopub.mgr.util;


import java.lang.reflect.Field;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * 判断对象中属性值是否全为空
 * @author Awoke
 * @version 2019年11月20日
 * @see ObjectCheckUtil
 * @since
 */
public final class ObjectCheckUtil {

    private static Logger log = LoggerFactory.getLogger(ObjectCheckUtil.class);

    /**
     * 判断对象中属性值是否全为空
     * @param object
     * @return
     */
    public static boolean checkObjAllFieldsIsNull(Object object) {
        if (null == object) {
            return true;
        }

        try {
            for (Field f : object.getClass().getDeclaredFields()) {
                f.setAccessible(true);
                if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
                    return false;
                }
            }
        }
        catch (Exception e) {
            log.error("", e);
        }
        return true;
    }
    
    /**
     * 判断对象中属性值是否有空值
     * @param object
     * @return
     */
    public static boolean checkObjFieldsIsNull(Object object) {
        if (null == object) {
            return true;
        }
        
        try {
            for (Field f : object.getClass().getDeclaredFields()) {
                f.setAccessible(true);
                if (f.get(object) == null || StringUtils.isBlank(f.get(object).toString())) {
                    return true;
                }
            }
        }
        catch (Exception e) {
            log.error("", e);
        }
        return false;
    }

}
